package com.egao.common.module.counsel.entity;

import cn.hutool.core.date.DatePattern;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * @author lym
 * @date 2022/1/24 15:20
 */
@Data
@ApiModel(description = "预约咨询")
@TableName("counsel")
public class Counsel implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("主键")
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    @ApiModelProperty("预约咨询教师ID")
    private Integer counselTeacherId;

    @ApiModelProperty("咨询类型")
    private Integer counselType;

    @ApiModelProperty(value = "状态", notes = "0正常 1取消")
    private String state;

    @ApiModelProperty("人数")
    private Integer count;

    @ApiModelProperty("剩余可以预约的人数")
    private Integer surplusCount;

    @ApiModelProperty("备注")
    private String remarks;

    @ApiModelProperty("咨询日期")
    @JsonFormat(pattern = DatePattern.NORM_DATE_PATTERN)
    private Date counselDate;

    @ApiModelProperty("咨询时间")
    private String counselTime;

    @ApiModelProperty("添加时间")
    private Date createTime;

    @ApiModelProperty("取消说明")
    private String cancel;

    @ApiModelProperty("取消时间")
    private Date cancelDate;

    @ApiModelProperty("是否删除 0否 1是")
    @TableLogic
    private Integer deleted;

    @Version
    private Integer version;

    @ApiModelProperty(value = "是否禁用")
    @TableField(exist = false)
    private boolean clickDisable = true;

    @ApiModelProperty(value = "是否有学生咨询", notes = "true是 false否")
    @TableField(exist = false)
    private boolean counsel;

    @ApiModelProperty(value = "日历类型")
    @TableField(exist = false)
    private String type;

    @ApiModelProperty("咨询师姓名")
    @TableField(exist = false)
    private String teacherName;

    @ApiModelProperty("咨询师介绍")
    @TableField(exist = false)
    private String teacherContent;
}
